package com.lun.swordtowardoffer2.c02;

import java.util.HashMap;
import java.util.Map;

public class SubarraySum {
	
	public int subarraySum(int[] nums, int k) {
		int sum = 0, count = 0;
		Map<Integer, Integer> sumToCount = new HashMap<>();
		sumToCount.put(0, 1);//必要的
		
		for(int num : nums) {
			sum += num;
			count += sumToCount.getOrDefault(sum - k, 0);
			sumToCount.put(sum, sumToCount.getOrDefault(sum, 0) + 1);
		}
				
		return count;
	}
}
